/* 全局样式 */
:root {
  /* 主色调 */
  --primary-color: #18a058;
  --primary-hover-color: #36ad6a;
  --primary-active-color: #0c7a43;
  --primary-bg-color: #f0f9eb;

  /* 状态颜色 */
  --success-color: #18a058;
  --warning-color: #f0a020;
  --error-color: #d03050;
  --info-color: #2080f0;

  /* 文本颜色 */
  --text-color-primary: #303133;
  --text-color-regular: #606266;
  --text-color-secondary: #909399;

  /* 边框颜色 */
  --border-color-base: #dcdfe6;
  --border-color-light: #e4e7ed;
  --border-color-lighter: #ebeef5;
  --border-color-extra-light: #f2f6fc;

  /* 背景颜色 */
  --background-color-base: #f5f7fa;
  --background-color: #f5f5f5;
  --card-background: #ffffff;
}

/* 暗色主题 */
.dark {
  /* 主色调 */
  --primary-color: #36ad6a;
  --primary-hover-color: #4cb77a;
  --primary-active-color: #2a9057;
  --primary-bg-color: #1a2e1f;

  /* 状态颜色 */
  --success-color: #36ad6a;
  --warning-color: #e6a23c;
  --error-color: #e74c3c;
  --info-color: #409eff;

  /* 文本颜色 */
  --text-color-primary: #ffffff;
  --text-color-regular: #e0e0e0;
  --text-color-secondary: #aaaaaa;

  /* 边框颜色 */
  --border-color-base: #333333;
  --border-color-light: #444444;
  --border-color-lighter: #555555;
  --border-color-extra-light: #666666;

  /* 背景颜色 */
  --background-color-base: #1e1e1e;
  --background-color: #121212;
  --card-background: #1e1e1e;
  --input-background: #2a2a2a;
  --form-background: #252525;
  --table-background: #252525;
  --table-header-background: #2a2a2a;
  --table-hover-background: #333333;
  --dropdown-background: #2a2a2a;
  --modal-background: #252525;
  --tooltip-background: #333333;
  --scrollbar-thumb: #444444;
  --scrollbar-track: #2a2a2a;
}

/* 暗色主题下的全局样式覆盖 */
.dark body {
  background-color: var(--background-color);
  color: var(--text-color-regular);
}

.dark .n-card {
  background-color: var(--card-background);
  color: var(--text-color-regular);
}

.dark .n-input {
  background-color: var(--input-background);
  color: var(--text-color-regular);
  border-color: var(--border-color-base);
}

.dark .n-input:hover, .dark .n-input:focus {
  border-color: var(--primary-color);
}

.dark .n-select {
  background-color: var(--input-background);
  color: var(--text-color-regular);
  border-color: var(--border-color-base);
}

.dark .n-select:hover, .dark .n-select:focus {
  border-color: var(--primary-color);
}

.dark .n-data-table {
  background-color: var(--table-background);
  color: var(--text-color-regular);
}

.dark .n-data-table-th {
  background-color: var(--table-header-background);
  color: var(--text-color-primary);
}

.dark .n-data-table-tr:hover {
  background-color: var(--table-hover-background);
}

.dark .n-dropdown-menu {
  background-color: var(--dropdown-background);
  color: var(--text-color-regular);
  border-color: var(--border-color-base);
}

.dark .n-modal {
  background-color: var(--modal-background);
  color: var(--text-color-regular);
}

.dark .n-tooltip {
  background-color: var(--tooltip-background);
  color: var(--text-color-regular);
}

.dark ::-webkit-scrollbar-thumb {
  background-color: var(--scrollbar-thumb);
}

.dark ::-webkit-scrollbar-track {
  background-color: var(--scrollbar-track);
}

/* 通用样式 */
.page-header {
  margin-bottom: 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.page-title {
  font-size: 20px;
  font-weight: 500;
  color: var(--text-color-primary);
}

.page-content {
  background-color: var(--card-background);
  padding: 24px;
  border-radius: 4px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
  color: var(--text-color-regular);
}

.form-actions {
  margin-top: 24px;
  text-align: right;
}

.form-actions button {
  margin-left: 8px;
}

/* 表格样式 */
.table-toolbar {
  margin-bottom: 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.table-search {
  display: flex;
  gap: 8px;
}

/* 卡片样式 */
.card-container {
  margin-bottom: 16px;
}

/* 响应式样式 */
@media (max-width: 768px) {
  .page-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .page-title {
    margin-bottom: 16px;
  }

  .table-toolbar {
    flex-direction: column;
    align-items: flex-start;
  }

  .table-search {
    margin-bottom: 16px;
    width: 100%;
  }
}
